/***Intro***/ FontManager Font TextEdit
Intro(2t)

【名前】
	Intro - Toolbox: テキスト関連（man2t.hlp）

【概要】
	Font Manager

	TextEdit

	Script Manager

	Worldwide Software

【Inside Macintosh】
								<<キーワード>>
	Font Manager						FontManager
		I-215
		IV-27
		V-179
		VI-12(Part 2)

	TextEdit						TextEdit
		I-371
		IV-57		TESelView(), TEPinScroll(), TEAutoView() 追加
		V-259
		VI-15(Part 2)

	Script Manager						ScriptManager
		V-293

	Worldwide Software
		VI-14(Part 2)


【関連項目】

【ヘッダー】
	Fonts.h
	TextEdit.h

	Script.h

【残り】
	Script Manager
	Worldwide Software
/***InitFonts***/ FontManager
InitFonts(2t)

【名前】
	InitFonts - フォントマネージャの初期化

【書式】
	■InitFonts	I-222

	void	InitFonts(void);

		フォントマネージャを初期化します。まず、InitGrafを実行してく
		ださい
/***GetFontName***/ GetFNum RealFont SetFontLock FMSwapFont FontManager
GetFontName(2t)

【名前】
	GetFontName - フォント番号のフォント名前を返す
	GetFNum     - fontNameのフォント名のフォント番号を返す
	RealFont    - fontNumが真正フォントならTRUEを返す
	SetFontLock - 最も最近に読み込まれたフォントを ロックかパージ
	FMSwapFont  -

【書式】
	■GetFontName	I-223
	■GetFNum	I-223
	■RealFont	I-223
	■SetFontLock	I-223
	■FMSwapFont	I-223

	void	GetFontName(short familyID, Str255 name);

	void	GetFNum(ConstStr255Param name, short *familyID);

	Boolean	RealFont(short fontNum, short size);

		fontNumが真正フォントならTRUEを返す

	void	SetFontLock(Boolean lockFlag);

		最も最近に読み込まれたフォントを
		   TRUE-ロックする
		   FALSE-パージする

	FMOutPtr	FMSwapFont(const FMInput *inRec);
/***SetFScaleDisable***/ FontMetrics SetFractEnable FontManager
SetFScaleDisable(2t)

【名前】
	SetFScaleDisable - フォントのスケーリングを禁止する
	FontMetrics      - フォント情報を返す
	SetFractEnable   - 固定小数点幅フォントを使える

【書式】
	■SetFScaleDisable	IV-32
	■FontMetrics		IV-32
	■SetFractEnable

	void	SetFScaleDisable(Boolean fscaleDisable);

	void	FontMetrics(const FMetricRec *theMetrics);

	void	SetFractEnable(Boolean fractEnable);

		fractEnableをTRUEにすると固定小数点幅フォントを使える
/***IsOutline***/ SetOutlinePreferred GetOutlinePreferred OutlineMetrics SetPreserveGlyph GetPreserveGlyph FlushFonts FontManager
IsOutline(2t)

【名前】
	IsOutline           -
	SetOutlinePreferred -
	GetOutlinePreferred -
	OutlineMetrics      -
	SetPreserveGlyph    -
	GetPreserveGlyph    -
	FlushFonts          -

【書式】
	Boolean	IsOutline(Point numer, Point denom);

	void	SetOutlinePreferred(Boolean outlinePreferred);

	Boolean	GetOutlinePreferred(void);

	OSErr	OutlineMetrics(short byteCount, const void *textPtr,
			Point numer, Point denom, short *yMax, short *yMin,
			FixedPtr awArray, FixedPtr lsbArray,
			RectPtr boundsArray);

	void	SetPreserveGlyph(Boolean preserveGlyph);

	Boolean	GetPreserveGlyph(void);

	OSErr	FlushFonts(void);
/***FMInput***/ FMOutput FMOutPtr FontRec FMetricRec FontManager
FMInput(2t)

【名前】
	FMInput    - データタイプ
	FMOutput   -
	FontRec    -
	FMetricRec -

【形式】
	■FMInput	I-224
	  FMInput
		short family;
		short size;
		Style face;
		Boolean needBits;
		short device;
		Point numer;
		Point denom;


	■FMOutput	I-227
	  FMOutput
		short		errNum;
		Handle		fontHandle;
		unsigned char	boldPixels;
		unsigned char	italicPixels;
		unsigned char	ulOffset;
		unsigned char	ulShadow;
		unsigned char	ulThick;
		unsigned char	shadowPixels;
		char		extra;
		unsigned char	ascent;
		unsigned char	descent;
		unsigned char	widMax;
		char		leading;
		char		unused;
		Point		numer;
		Point		denom;

	  FMOutPtr	FMOutput *

	■FontRec	I-231
	  FontRec
		short fontType;
		short firstChar;
		short lastChar;
		short widMax;
		short kernMax;
		short nDescent;
		short fRectWidth;
		short fRectHeight;
		short owTLoc;
		short ascent;
		short descent;
		short leading;
		short rowWords;

	■FMetricRec	??
	  FMetricRec
		Fixed ascent;
		Fixed descent;
		Fixed leading;
		Fixed widMax;
		Handle wTabHandle;
/***WidEntry***/ WidTable AsscEntry FontManager
WidEntry(2t)

【名前】
	WidEntry  - データタイプ
	WidTable  -
	AsscEntry -

【形式】
	■WidEntry	??
	  WidEntry
		short widStyle;

	■WidTable	??
	  WidTable
		short numWidths;

	■AsscEntry	??
	  AsscEntry
		short fontSize;
		short fontStyle;
		short fontID;
/***FontAssoc***/ StyleTable NameTable FontManager
FontAssoc(2t)

【名前】
	FontAssoc	-
	StyleTable	-
	NameTable	-

【形式】
	■FontAssoc	??
	  FontAssoc
		short numAssoc;

	■StyleTable	??
	  StyleTable
		short fontClass;
		long offset;
		long reserved;
		char indexes[48];

	■NameTable	??
	  NameTable
		short stringCount;
		Str255 baseFontName;
/***KernPair***/ KernEntry KernTable FontManager
KernPair(2t)

【名前】
	KernPair	-
	KernEntry	-
	KernTable	-

【形式】
	■KernPair	??
	  KernPair
		char	kernFirst;
		char	kernSecond;
		short	kernWidth;

	■KernEntry	??
	  KernEntry
		short	kernLength;
		short	kernStyle;

	■KernTable	??
	  KernTable
		short	numKerns;
/***WidthTable***/ FontManager
WidthTable(2t)

【名前】
	WidthTable	-

【形式】
	■WidthTable	IV-41
	  WidthTable
		Fixed	tabData[256];
		Handle	tabFont;
		long	sExtra;
		long	style;
		short	fID;
		short	fSize;
		short	face;
		short	device;
		Point	inNumer;
		Point	inDenom;
		short	aFID;
		Handle	fHand;
		Boolean	usedFam;
		unsigned char	aFace;
		short	vOutput;
		short	hOutput;
		short	vFactor;
		short	hFactor;
		short	aSize;
		short	tabSize;
/***FamRec***/ FontManager
FamRec(2t)

【名前】
	FamRec	-

【形式】
	■FamRec	IV-36
	  FamRec
		short	ffFlags;
		short	ffFamID;
		short	ffFirstChar;
		short	ffLastChar;
		short	ffAscent;
		short	ffDescent;
		short	ffLeading;
		short	ffWidMax;
		long	ffWTabOff;
		long	ffKernOff;
		long	ffStylOff;
		short	ffProperty[9];
		short	ffIntl[2];
		short	ffVersion;
#
#
#
/***TEInit***/ TENew TEDispose TextEdit
TEInit(2t)

【名前】
	TEInit    - テキストエディットの初期化
	TENew     - TextEdit ハンドルの作成
	TEDispose - TextEdit ハンドルの廃棄

【書式】
	■TEInit	I-383
	■TENew		I-383
	■TEDispose	I-383

	void	TEInit(void);
		  InitGraf,InitFonts,InitWindows 後に呼び出すこと

	TEHandle	TENew(const Rect *destRect, const Rect *viewRect);
		destRect,viewRectの中にしっかりはまるTEHandleを返します

	void	TEDispose(TEHandle hTE);
/***TESetText***/ TEGetText TextEdit
TESetText(2t)

【名前】
	TESetText - lengthの長さの分textをhTEの後につなげます
	TEGetText - 編集テキストの内容を返します

【書式】
	■TESetText	I-383
	■TEGetText	I-384

	void	TESetText(const void *text, long length, TEHandle hTE);
			lengthの長さの分textをhTEの後につなげます

	CharsHandle	TEGetText(TEHandle hTE);
			編集テキストの内容を返します
/***TEIdle***/ TEClick TESetSelect TEActivate TEDeactivate TextEdit
TEIdle(2t)

【名前】
	TEIdle       - キャレットの点滅
	TEClick      - マウスクリック処理
	TESetSelect  - テキストの選択
	TEActivate   - セレクト部分、又はキャレットをハイライト
	TEDeactivate - セレクト部分、又はキャレットのハイライトを消す

【書式】
	■TEIdle	I-384
	■TEClick	I-384
	■TESetSelect	I-385
	■TEActivate	I-385
	■TEDeactivate	I-385

	void	TEIdle(TEHandle hTE);
		  キャレットを点滅させる(nullEvt 時に通常呼ぶ)

	void	TEClick(Point pt, Boolean fExtend, TEHandle hTE);
		  マウスボタンの位置（ローカル座標）と、
		  <fExtend>
			TRUE	Shift Keyあり
			FALSE	Shift Keyなし

	void	TESetSelect(long selStart, long selEnd, TEHandle hTE);
		  selStart字目からselEnd字目までを選択します

	void	TEActivate(TEHandle hTE);
	void	TEDeactivate(TEHandle hTE);
/***TEKey***/ TECut TECopy TEPaste TEDelete TEInsert TextEdit
TEKey(2t)

【名前】
	TEKey    - セレクト部分、又はキャレットにkeyを挿入
	TECut    - セレクト部分をカット
	TECopy   - セレクト部分をコピー
	TEPaste  - セレクト部分をペースト
	TEDelete - セレクト部分をクリア
	TEInsert - 文字列の挿入(現在のキャレット位置に)

【書式】
	■TEKey		I-385, VI-15-31
	■TECut		I-385
	■TECopy	I-386
	■TEPaste	I-386
	■TEDelete	I-387
	■TEInsert	I-387

	void	TEKey(short key, TEHandle hTE);
		  セレクト部分、又はキャレットにkeyを挿入

	void	TECut   (TEHandle hTE);
	void	TECopy  (TEHandle hTE);
	void	TEPaste (TEHandle hTE);
	void	TEDelete(TEHandle hTE);

	void	TEInsert(const void *text, long length, TEHandle hTE);
		textをlength字分セレクト部分、又はキャレットの直前に挿入します
/***TESetJust***/ TEUpdate TextBox TEScroll TESelView TEPinScroll TEAutoView TextEdit
TESetJust(2t)

【名前】
	TESetJust   - 行揃えの設定
	TEUpdate    -
	TextBox     - 
	TEScroll    - テキストをスクロール
	TESelView   - 
	TEPinScroll - 
	TEAutoView  - 自動スクロールの設定

【書式】
	■TESetJust	I-387, VI-15-19(スクリプト)
	■TEUpdate	I-387
	■TextBox	I-388
	■TEScroll	I-388
	■TESelView	IV-57
	■TEPinScroll	IV-57
	■TEAutoView	IV-57

	void	TESetJust(short just, TEHandle hTE);
		    0 teJustLeft		左詰め(default)
			teFlushDefault
		    1 teJustCenter	全てのスクリプトで中央そろえ
			teCenter
		   -1 teJustRight	全てのスクリプトで右寄せ(VI-15-20)
			teFlushRight
		   -2 teForceLeft	全てのスクリプトで左寄せ(VI-15-20)
			teFlushLeft

	void	TEUpdate(const Rect *rUpdate, TEHandle hTE);

	void	TextBox(const void *text, long length, const Rect *box,
			short just);

		length字分textをboxの形にjustの形式でグラフポートのフォント、
		サイズ、スタイルで書きます

	void	TEScroll(short dh, short dv, TEHandle hTE);

	void	TESelView(TEHandle hTE);

		セレクト部分、又はキャレットがビューレクタングルの左肩に来る
		ようにします

	void	TEPinScroll(short dh, short dv, TEHandle hTE);

		セレクト部分、又はキャレットがビューレクタングルにはいるよう
		にします

	void	TEAutoView(Boolean fAuto, TEHandle hTE);
/***TEStylNew***/ SetStylHandle GetStylHandle GetStylScrap TEGetStyle TEStylInsert TEStylPaste TESetStyle TEReplaceStyle SetStylScrap TENumStyles TEContinuousStyle TextEdit
TEStylNew(2t)

【名前】
	TEStylNew      -
	GetStylHandle  -
	SetStylHandle  -
	GetStylScrap   -
	SetStylScrap   -
	TEGetStyle     -
	TEStylInsert   -
	TEStylPaste    -
	TESetStyle     -
	TEReplaceStyle -
	TENumStyles    -
	TEContinuousStyle -

【書式】
	■TEStylNew		V-268
	■GetStylHandle		V-268
	■SetStylHandle		V-268
	■GetStylScrap		V-268
	■SetStylScrap		VI-15-36
	■TEGetStyle		V-269
	■TEStylInsert		V-268
	■TEStylPaste		V-269
	■TESetStyle		V-269
	■TEReplaceStyle	V-270
	■TENumStyles		VI-15-36
	■TEContinuousStyle	VI-15-34

	TEHandle	TEStylNew(const Rect *destRect, const Rect *viewRect);

	TEStyleHandle	GetStylHandle(TEHandle hTE);
	void		SetStylHandle(TEStyleHandle theHandle, TEHandle hTE);

	StScrpHandle	GetStylScrap(TEHandle hTE);
	void	SetStylScrap(long rangeStart, long rangeEnd,
			StScrpHandle newStyles, Boolean redraw, TEHandle hTE);

	void	TEGetStyle(short offset, TextStyle *theStyle,
			short *lineHeight, short *fontAscent, TEHandle hTE);

	void	TEStylInsert(const void *text, long length, StScrpHandle hST,
			TEHandle hTE);

	void	TEStylPaste(TEHandle hTE);

	void	TESetStyle(short mode, const TextStyle *newStyle,
			Boolean redraw, TEHandle hTE);

			mode (任意に組み合わせる)
			1	doFont
			2	doFace
			4	doSize
			8	doColor
			15	doAll
			16	addSize
			32	doToggle

	void	TEReplaceStyle(short mode, const TextStyle *oldStyle,
			const TextStyle *newStyle, Boolean redraw,
			TEHandle hTE);

	long	TENumStyles(long rangeStart, long rangeEnd, TEHandle hTE);

	Boolean	TEContinuousStyle(short *mode, TextStyle *aStyle,
			TEHandle hTE);
/***TEGetOffset***/ TEGetPoint TEGetHeight TextEdit
TEGetOffset(2t)

【名前】
	TEGetOffset -
	TEGetPoint  -
	TEGetHeight -

【書式】
	■TEGetOffset	V-268
	■TEGetPoint	V-269, VI-15-31
	■TEGetHeight	V-269

	short	TEGetOffset(Point pt, TEHandle hTE);

	Point	TEGetPoint(short offset, TEHandle hTE);

	long	TEGetHeight(long endLine, long startLine, TEHandle hTE);
/***TEFromScrap***/ TEToScrap TEScrapHandle TEGetScrapLen TESetScrapLen TextEdit
TEFromScrap(2t)

【名前】
	TEFromScrap   - DeskTop-Scrap の内容を TextEdit-Scrap にコピー
	TEToScrap     - TextEdit-Scrap の内容を DeskTop-Scrapにコピー
	TEScrapHandle -
	TEGetScrapLen -
	TESetScrapLen - TextEdit-Scrap のテキスト長を変える

【書式】
	■TEFromScrap	I-389
	■TEToScrap	I-389
	■TEScrapHandle	I-389
	■TEGetScrapLen	I-389
	■TESetScrapLen	I-390

	OSErr	TEFromScrap(void);
		デスクトップ・スクラップの内容をテキストエディット・スクラッ
		プにコピーします

	OSErr	TEToScrap(void);
		テキストエディット・スクラップの内容をデスクトップ・スクラッ
		プにコピーします

	Handle	TEScrapHandle(void);

	long	TEGetScrapLen(void);

	void	TESetScrapLen(long length);

		テキストエディット・スクラップのテキストの長さを変える
/***TESetWordBreak***/ SetWordBreak TESetClickLoop SetClikLoop TECalText WordBreakProcPtr ClikLoopProcPtr TECustomHook TEIntHook TextEdit
TESetWordBreak(2t)

【名前】
	TESetWordBreak - ワードブレイクルーチンの登録
	SetWordBreak   - ワードブレイクルーチンの登録(old)
	TESetClickLoop - クリックループルーチンの登録
	SetClikLoop    - クリックループルーチンの登録(old)
	TECustomHook   -
	TECalText      - フィールドlineStartを計算し直す

【書式】
	■SetWordBreak	I-390
	■SetClikLoop	I-390
	■TECustomHook	VI-15-25
	■TECalText	I-390

	void	TESetWordBreak(WordBreakProcPtr wBrkProc, TEHandle hTE);
	void	SetWordBreak(WordBreakProcPtr wBrkProc, TEHandle hTE);

	void	TESetClickLoop(ClikLoopProcPtr clikProc, TEHandle hTE);
	void	SetClikLoop(ClikLoopProcPtr clikProc, TEHandle hTE);

	void	TECustomHook(TEIntHook which, ProcPtr *addr, TEHandle hTE);
			0 intEOLHook
			1 intDrawHook
			2 intWidthHook
			3 intHitTestHook
			6 intNWidthHook
			7 intTextWidthHook

	void	TECalText(TEHandle hTE);


	■WordBreakProcPtr
	  pascal Boolean (*WordBreakProcPtr)(Ptr text, short charPos);

	■ClikLoopProcPtr
	  pascal Boolean (*ClikLoopProcPtr)(void);
### (TEHandle hTE) がある場合あり

	■TEIntHook	VI-15-25
	  TEIntHook	short
/***TEFeatureFlag***/ TextEdit
TEFeatureFlag(2t)

【名前】
	TEFeatureFlag - 新機能の使用状態変更

【書式】
	■TEFeatureFlag		VI-15-22

	short	TEFeatureFlag(short feature, short action, TEHandle hTE);
		 <feature>
			以下のいずれか一つを指定

			0 teFAutoScr		(IM 未記述)
			1 teFTextBuffering	テキストバッファリング
			2 teFOutlineHilite	アウトラインハイライト表示
			3 teFInlineInput	インライン入力機能
			4 teFUseTextServices	インライン入力サービスの使用

		 <action>
			 0 TEBitClear		機能のクリア
			 1 TEBitSet		機能のセット
			-1 TEBitText		機能のテスト
/***TERec***/ TEPtr TEHandle Chars CharsPtr CharsHandle TextEdit
TERec(2t)

【名前】
	TERec - TextEdit データ構造
	Chars - キャラクタ配列データ構造 (char)

【形式】
	■TERec		I-377

	  TERec
		Rect		destRect;
		Rect		viewRect;
		Rect		selRect;
		short		lineHeight;
		short		fontAscent;
		Point		selPoint;
		short		selStart;
		short		selEnd;
		short		active;
		WordBreakProcPtr wordBreak;	x ワードブレイクルーチン
		ClikLoopProcPtr	clikLoop;	x クリックループルーチン
		long		clickTime;
		short		clickLoc;
		long		caretTime;	x
		short		caretState;	x
		short		just;
		short		teLength;
		Handle		hText;		x テキストデータ
		short		recalBack;
		short		recalLines;
		short		clikStuff;
		short		crOnly;
		short		txFont;		o テキストフォント番号
		Style		txFace;		o テキスト
		char		filler;		-
		short		txMode;		o 描画モード(srcOr など)
		short		txSize;		o フォントサイズ
		GrafPtr		inPort;		o グラフポート(WindowPtrなど)
		ProcPtr		highHook;
		ProcPtr		caretHook;
		short		nLines;
		short		lineStarts[16001];	x ラインの先頭位置

	  TEPtr		TERec *
	  TEHandle	TERec **


	■Chars		I-384
	  Chars		char	[32001]
	  CharsPtr	Chars *
	  CharsHandle	Chars **
/***TEStyleRec***/ TEStylePtr TEStyleHandle STElement TEStyleTable STPtr STHandle LHElement LHTable LHPtr LHHandle StyleRun NullStRec NullStPtr NullStHandle StScrpRec StScrpPtr StScrpHandle ScrpSTElement ScrpSTTable TextEdit
TEStyleRec(2t)


【名前】
	TEStyleRec    - data type
	STElement     - data type
	LHElement     - data type
	StyleRun      - data type
	NullStRec     - data type
	StScrpRec     - data type
	ScrpSTElement - data type

【形式】
	■TEStyleRec		??
	  TEStyleRec
		short		nRuns;
		short		nStyles;
		STHandle	styleTab;
		LHHandle	lhTab;
		long		teRefCon;
		NullStHandle	nullStyle;
		StyleRun	runs[8001];
	  TEStylePtr	TEStyleRec *
	  TEStyleHandle	TEStyleRec **

	■STElement		V-262
	  STElement
		short		stCount;
		short		stHeight;
		short		stAscent;
		short		stFont;
		Style		stFace;
		char		filler;
		short		stSize;
		RGBColor	stColor;

	  TEStyleTable	STElement	[1777]
	  STPtr		STElement *
	  STHandle	STElement **

	■LHElement	??
	  LHElement
		short	lhHeight;
		short	lhAscent;

	  LHTable	LHElement	[8001]
	  LHPtr		LHElement *
	  LHHandle	LHElement **

	■StyleRun		??
	  StyleRun
		short	startChar;
		short	styleIndex;

	■NullStRec		??
	  NullStRec
		long	teReserved;
		StScrpHandle nullScrap;

	  NullStPtr	NullStRec *
	  NullStHandle	NullStRec **

	■StScrpRec		??
	  StScrpRec
		short		scrpNStyles;
		ScrpSTTable	scrpStyleTab;

	  StScrpPtr	StScrpRec *
	  StScrpHandle	StScrpRec **

	■ScrpSTElement		??
	  ScrpSTElement
		long		scrpStartChar;
		short		scrpHeight;
		short		scrpAscent;
		short		scrpFont;
		Style		scrpFace;
		char		filler;
		short		scrpSize;
		RGBColor	scrpColor;

	  ScrpSTTable	ScrpSTElement	[1601]
/***TextStyle***/ TextStylePtr TextStyleHandle TextEdit
TextStyle(2t)

【名前】
	TextStyle - data type

【形式】
	■TextStyle	??
	  TextStyle
		short		tsFont;
		Style		tsFace;
		char		filler;
		short		tsSize;
		RGBColor	tsColor;

	  TextStylePtr		TextStyle *
	  TextStyleHandle	TextStyle **
#
#
#
/***FontScript***/ IntlScript KeyScript Font2Script ScriptManager
FontScript(2t)

【名前】
	FontScript  -
	IntlScript  -
	KeyScript   -
	Font2Script -

【書式】
	■FontScript	V-314 (VI-14-44)
	■IntlScript	V-314 (VI-14-44)
	■KeyScript	V-314 (VI-14-44)
	■Font2Script	V-315 (VI-14-44)

	short	FontScript(void);
	short	IntlScript(void);
	void	KeyScript(short code);
	short	Font2Script(short fontNumber);
/***GetScript***/ SetScript GetEnvirons SetEnvirons ScriptManager
GetScript(2t)

【名前】
	GetScript   -
	SetScript   -
	GetEnvirons -
	SetEnvirons -

【書式】
	■GetScript	V-312
	■SetScript	V-313
	■GetEnvirons	V-313
	■SetEnvirons	V-314

	long	GetScript(short script, short verb);
	OSErr	SetScript(short script, short verb, long param);

	long	GetEnvirons(short verb);
	OSErr	SetEnvirons(short verb, long param);
		<verb>
			0	smVersion
			2	smMunged
			4	smEnabled
			6	smBidirect
			8	smFontForce
			10	smIntlForce
			12	smForced
			14	smDefault
			16	smPrint
			18	smSysScript
			20	smLastScript
			22	smKeyScript
			24	smSysRef
			26	smKeyCache
			28	smKeySwap
			30	smGenFlags
			32	smOverride
			34	smCharPortion

			/* New for System 7.0: */
			36	smDoubleByte
			38	smKCHRCache
			40	smRegionCode
/***GetDefFontSize***/ GetSysFont GetAppFont GetMBarHeight GetSysJust SetSysJust ScriptManager
GetDefFontSize(2t)

【名前】
	GetDefFontSize -
	GetSysFont     -
	GetAppFont     -
	GetMBarHeight  -
	GetSysJust     -
	SetSysJust     -

【書式】
	■GetDefFontSize	V-315
	■GetSysFont		V-315
	■GetAppFont		V-315
	■GetMBarHeight		V-315
	■GetSysJust		V-315
	■SetSysJust		V-316

	short	GetDefFontSize(void);
	short	GetSysFont(void);
	short	GetAppFont(void);
	short	GetMBarHeight(void);
	short	GetSysJust(void);

	void	SetSysJust(short newJust);
/***ReadLocation***/ WriteLocation MachineLocation ScriptManager
ReadLocation(2t)

【名前】
	ReadLocation    - 地域情報(PRAM内)のリード
	WriteLocation   - 地域情報(PRAM内)の書き込み
	MachineLocation - data type

【書式】
	■ReadLocation		VI-14-49
	■WriteLocation		VI-14-49

	void	ReadLocation(MachineLocation *loc);
	void	WriteLocation(const MachineLocation *loc);


	■MachineLocation	VI-14-126
	  MachineLocation
		Fract	latitude;
		Fract	longitude;
		union{
			char dlsDelta;
			long gmtDelta;
		}gmtFlags;
/***IntlTokenize***/ TokenResults TokenBlock TokenBlockPtr TokenType ScriptManager
IntlTokenize(2t)

【名前】
	IntlTokenize -
	TokenResults - data type (unsigned char)
	TokenBlock   - data type

【書式】
	TokenResults	IntlTokenize(TokenBlockPtr tokenParam);

	■TokenResults
	  TokenResults	uchar
		0   tokenOK
		1   tokenOverflow
		2   stringOverflow
		3   badDelim
		4   badEnding
		5   crash


	■TokenBlock	??
	  TokenType	short

	  TokenBlock
		Ptr		source;
		long		sourceLength;
		Ptr		tokenList;
		long		tokenLength;
		long		tokenCount;
		Ptr		stringList;
		long		stringLength;
		long		stringCount;
		Boolean		doString;
		Boolean		doAppend;
		Boolean		doAlphanumeric;
		Boolean		doNest;
		TokenType	leftDelims[2];
		TokenType	rightDelims[2];
		TokenType	leftComment[4];
		TokenType	rightComment[4];
		TokenType	escapeCode;
		TokenType	decimalCode;
		Handle		itlResource;
		long		reserved[8];

	  TokenBlockPtr	TokenBlock *
/***InitDateCache***/ String2Date String2Time LongDate2Secs LongSecs2Date ToggleDate ValidDate ToggleResults String2DateStatus DateDelta LongDateField TogglePB DateCacheRecord DateCachePtr ScriptManager
InitDateCache(2t)

【名前】
	InitDateCache -
	String2Date   - 日付文字列 → 日付時刻レコードへの解析
	String2Time   - 時刻文字列 → 日付時刻レコードへの解析
	LongDate2Secs - ロング形式日付レコード → LongDateTime 変換
	LongSecs2Date - LongDateTime → ロング形式日付レコード 変換
	ToggleDate    -
	ValidDate     - ロング形式日付レコードの有効性チェック
	TogglePB      - data type
	DateCacheRecord	- data type

【書式】
	■InitDateCache	VI-14-48
	■String2Date	VI-14-48
	■String2Time	VI-14-48
	■LongDate2Secs	VI-14-48
	■LongSecs2Date	VI-14-48
	■ToggleDate	VI-14-48
	■ValidDate	VI-14-48

	OSErr	InitDateCache(DateCachePtr theCache);

	String2DateStatus	String2Date(Ptr textPtr, long textLen,
			DateCachePtr theCache, long *lengthUsed,
			LongDateRec *dateTime);

	String2DateStatus	String2Time(Ptr textPtr, long textLen,
			DateCachePtr theCache, long *lengthUsed,
			LongDateRec *dateTime);

	void	LongDate2Secs(const LongDateRec *lDate, LongDateTime *lSecs);

	void	LongSecs2Date(LongDateTime *lSecs, LongDateRec *lDate);

	ToggleResults	ToggleDate(LongDateTime *lSecs, LongDateField field,
			DateDelta delta, short ch, const TogglePB *params);
		<戻り値>
		0	toggleUndefined
		1	toggleOK
		2	toggleBadField
		3	toggleBadDelta
		4	toggleBadChar
		5	toggleUnknown
		6	toggleBadNum
		7	toggleOutOfRange
		7	toggleErr3
		8	toggleErr4
		9	toggleErr5


	short	ValidDate(LongDateRec *vDate, long flags,
			LongDateTime *newSecs);

	■データタイプ
	  ToggleResults		short

	  String2DateStatus	short

	  DateDelta		char

	  LongDateField		uchar

	■TogglePB		VI-14-127
	  TogglePB
		long	togFlags;
		ResType amChars;
		ResType pmChars;
		long	reserved[4];

	■DateCacheRecord	VI-14-126
	  DateCacheRecord
		short	hidden[256];
	  DateCachePtr	DateCacheRecord *
/***Str2Format***/ Format2Str FormatX2Str FormatStr2X FormatStatus FVector TripleInt NumFormatString NumberParts NumberPartsPtr WideChar WideCharArr ScriptManager
Str2Format(2t)

【名前】
	Str2Format      -
	Format2Str      -
	FormatX2Str     -
	FormatStr2X     -
	FormatStatus    - data type (short)
	FVector         - data type
	NumFormatString	- data type
	NumberParts     - data type
	WideChar        - data type
	WideCharArr     - data type

【書式】
	■Str2Format	VI-14-49
	■Format2Str	VI-14-49
	■FormatX2Str	VI-14-49
	■FormatStr2X	VI-14-49

	FormatStatus	Str2Format(ConstStr255Param inString,
			const NumberParts *partsTable,
			NumFormatString *outString);

	FormatStatus	Format2Str(const NumFormatString *myCanonical,
			const NumberParts *partsTable, Str255 outString,
			TripleInt *positions);

	FormatStatus	FormatX2Str(extended x,
			const NumFormatString *myCanonical,
			const NumberParts *partsTable, Str255 outString);

	FormatStatus	FormatStr2X(ConstStr255Param source,
			const NumFormatString *myCanonical,
			const NumberParts *partsTable, extended *x);

	■FormatStatus		VI-14-124
	  FormatStatus		short
		 0  fFormatOK
		 1  fBestGuess
		 2  fOutOfSynch
		 3  fSpuriousChars
		 4  fMissingDelimiter
		 5  fExtraDecimal
		 6  fMissingLiteral
		 7  fExtraExp
		 8  fFormatOverflow
		 9  fFormStrIsNAN
		10  fBadPartsTable
		11  fExtraPercent
		12  fExtraSeparator
		13  fEmptyFormatString


	■FVector		VI-14-127
	  FVector
		short	start;
		short	length;
	  TripleInt	FVector	[3]


	■NumFormatString	VI-14-124
	  NumFormatString
		char	fLength;
		char	fVersion;
		char	data[254];


	■NumberParts		VI-14-127
	  NumberParts
		short		version;
		WideChar	data[31];
		WideCharArr	pePlus;
		WideCharArr	peMinus;
		WideCharArr	peMinusPlus;
		WideCharArr	altNumTable;
		char		reserved[20];
	  NumberPartsPtr	NumberParts *


	■WideChar		VI-14-124
	  WideChar
		union WideChar {
			char	a[2];
			short	b;
		};


	■WideCharArr		VI-14-124
	  WideCharArr
		short	size;
		WideChar data[10];
/***FindScriptRun***/ ScriptRunStatus GetFormatOrder FormatOrder FormatOrderPtr FormatStatus StyledLineBreak StyledLineBreakCode VisibleLength ScriptManager
FindScriptRun(2t)

【名前】
	FindScriptRun   -
	GetFormatOrder	-
	StyledLineBreak	-
	VisibleLength   -
	ScriptRunStatus - data type

【書式】
	■FindScriptRun		VI-14-46
	■GetFormatOrder	VI-14-46
	■StyledLineBreak	VI-14-47


	ScriptRunStatus	FindScriptRun(Ptr textPtr, long textLen,
			long *lenUsed);

	■ScriptRunStatus	??
	  ScriptRunStatus
		char	script;
		char	variant;



	StyledLineBreakCode	StyledLineBreak(Ptr textPtr, long textLen,
			long textStart, long textEnd, long flags,
			Fixed *textWidth, long *textOffset);

	■StyledLineBreakCode	uchar


	void	GetFormatOrder(FormatOrderPtr ordering, short firstFormat,
			short lastFormat, Boolean lineRight, Ptr rlDirProc,
			Ptr dirParam);

	■FormatOrder		VI-14-124
	  FormatOrder		short	[1]
	  FormatOrderPtr	FormatOrder *

	long	VisibleLength(Ptr textPtr, long textLen);
/***TruncString***/ TruncText ReplaceText TruncCode ScriptManager
TruncString(2t)

【名前】
	TruncString - 文字列を指定幅に入るように省略
	TruncText   - 文字列を指定幅に入るように省略(文字数指定)
	ReplaceText - 文字列の置換
	TruncCode   - data type (short)

【書式】
	■TruncString	VI-14-59
	■TruncText	VI-14-59
	■ReplaceText	VI-14-60

	short	TruncString(short width, Str255 theString,
			TruncCode truncWhere);
	short	TruncText(short width, Ptr textPtr, short *length,
			TruncCode truncWhere);

		<truncWhere>
		0	smTruncEnd	最後を省略
		0x4000	smTruncMiddle	途中を省略


	リザルトコード
		   0 smNotTruncated	省略の必要なし
		   1 smTruncated	省略実行
		  -1 smTruncErr		一般的エラー(文字列長 = 0)
		-192 resNotFound	'itl4'リソースの取得エラー


	short	ReplaceText(Handle baseText, Handle substitutionText,
			Str15 key);


	■TruncCode	VI-14-126
	  TruncCode	short
/***LowerText***/ UpperText StripText StripUpperText LwrText UprText UprString Transliterate ScriptManager
LowerText(2t)

【名前】
	LowerText      - 小文字変換(国を考慮)
	UpperText      - 大文字変換(国を考慮)
	StripText      - 発音区分符号の除去(国を考慮)
	StripUpperText - 発音区分符号の除去 & 大文字変換(国を考慮)
	LwrText        - [国を未考慮] 文字列の小文字→大文字変換 ??
	UprText        - [国を未考慮] 文字列の小文字→大文字変換 ??
	UprString      - [国を未考慮] 文字列の小文字→大文字変換
	Transliterate  - 文字の変換(可能な限り近いものに)

【書式】
	■LowerText		VI-14-62
	■UpperText		VI-14-63
	■StripText		VI-14-63
	■StripUpperText	VI-14-63
	■LwrText		記述なし
	■UprText		記述なし
	■UprString		II-377 (OS Utilites)
	■Transliterate		V-311

	#include <Script.h>

	void	UpperText(Ptr textPtr, short len);
	void	LowerText(Ptr textPtr, short len);

	void	StripText(Ptr textPtr, short len);
	void	StripUpperText(Ptr textPtr, short len);

	void	LwrText(Ptr textPtr, short len);
	void	UprText(Ptr textPtr, short len);
	void	UprString(Str255 theString, Boolean diacSens);
			diacSens  true=区切り文字をとり除かない


	OSErr	Transliterate(Handle srcHandle, Handle dstHandle, short target,
			long srcMask);

		target types for Roman
			0	smTransAscii
			1	smTransNative
			0xFE	smTransCase
			0xFF	smTransSystem

		target types for FIS
			2	smTransAscii1
			3	smTransAscii2
			4	smTransKana1
			5	smTransKana2
					7	smTransGana2
			8	smTransHangul2
			9	smTransJamo2
			10	smTransBopomofo2

		target modifiers
			0x4000	smTransLower
			0x8000	smTransUpper

		source mask - general
			0xFFFFFFFF	smMaskAll

		source masks
			0x00000001	smMaskAscii
			0x00000002	smMaskNative

		source masks for FIS
			0x00000004	smMaskAscii1
			0x00000008	smMaskAscii2
			0x00000010	smMaskKana1
			0x00000020	smMaskKana2
			0x00000080	smMaskGana2
			0x00000100	smMaskHangul2
			0x00000200	smMaskJamo2
			0x00000400	smMaskBopomofo2
/***CharByte***/ CharType Pixel2Char Char2Pixel NPixel2Char NChar2Pixel ParseTable CharByteTable ScriptManager
CharByte(2t)

【名前】
	CharByte    - 文字のタイプをチェック
	CharType    - 文字のタイプをチェック
	Pixel2Char  - 指定ピクセル幅に近い文字位置を探す
	NPixel2Char - 指定ピクセル幅に近い文字位置を探す(Sys 7.0)
	Char2Pixel  - 
	NChar2Pixel -
	ParseTable  -

【書式】
	■CharByte	V-306
	■CharType	V-306
	■Pixel2Char	V-307
	■NPixel2Char	VI-14-68
	■Char2Pixel	V-308
	■NChar2Pixel	VI-14-68
	■ParseTable	VI-14-45

	#include <Script.h>

	short	CharByte(Ptr textBuf, short textOffset);
		戻り値
		  0   smSingleByte	シングルバイト
		  -1  smFirstByte	最初の文字
		  1   smLastByte	最後の文字
		  2   smMiddleByte	真ん中の文字

	short	CharType(Ptr textBuf, short textOffset);

		<マスクの定義>
		0x000F	smcTypeMask
		0x00F0	smcReserved
		0x0F00	smcClassMask
		0x1000	smcOrientationMask
		0x2000	smcRightMask
		0x4000	smcUpperMask
		0x8000	smcDoubleMask

		/* Basic CharType character types */
			0x0000	smCharPunct
			0x0001	smCharAscii
			0x0007	smCharEuro
			0x0007	smCharExtAscii

		/* Additional CharType character types for script systems */
			0x0002	smCharKatakana
			0x0003	smCharHiragana
			0x0004	smCharIdeographic
			0x0005	smCharTwoByteGreek
			0x0006	smCharTwoByteRussian
			0x0008	smCharBidirect
			0x000C	smCharHangul
			0x000D	smCharJamo

		/* old names for above, for backward compatibility */
			0x0002	smCharFISKana
			0x0003	smCharFISGana
			0x0004	smCharFISIdeo
			0x0005	smCharFISGreek
			0x0006	smCharFISRussian

		/* CharType classes for punctuation (smCharPunct) */
			0x0000	smPunctNormal
			0x0100	smPunctNumber
			0x0200	smPunctSymbol
			0x0300	smPunctBlank
			0x0400	smPunctRepeat
			0x0500	smPunctGraphic

		/* CharType classes for FISKana, FISGana */
			0x0100	smKanaSmall
			0x0200	smKanaHardOK
			0x0300	smKanaSoftOK

		/* CharType Ideographics classes for two-byte systems */
			0x0000	smIdeographicLevel1
			0x0100	smIdeographicLevel2
			0x0200	smIdeographicUser

		/* old names for above, for backward compatibility */
			0x0000	smFISClassLvl1
			0x0100	smFISClassLvl2
			0x0200	smFISClassUser

		/* CharType Jamo classes for Korean systems */
			0x0000	smJamoJaeum
			0x0100	smJamoBogJaeum
			0x0200	smJamoMoeum
			0x0300	smJamoBogMoeum

		/* CharType FIS glyph orientation */
			0x0000	smCharHorizontal
			0x1000	smCharVertical

		/* CharType directions */
			0x0000	smCharLeft
			0x2000	smCharRight

		/* CharType case modifers */
			0x0000	smCharLower
			0x4000	smCharUpper

		/* CharType character size modifiers (1 or multiple bytes). */
			0x0000	smChar1byte
			0x8000	smChar2byte


	short	Pixel2Char(Ptr textBuf, short textLen, short slop,
			short pixelWidth, Boolean *leadingEdge);
	short	NPixel2Char(Ptr textBuf, long textLen, Fixed slop,
			Fixed pixelWidth, Boolean *leadingEdge,
			Fixed *widthRemaining, JustStyleCode styleRunPosition,
			Point numer, Point denom);

	short	Char2Pixel(Ptr textBuf, short textLen, short slop,
			short offset, short direction);
	short	NChar2Pixel(Ptr textBuf, long textLen, Fixed slop, long offset,
			short direction, JustStyleCode styleRunPosition,
			Point numer, Point denom);

		0	smLeftCaret
		-1	smRightCaret
		1	smHilite


	Boolean	ParseTable(CharByteTable table);

	■CharByteTable	char	[256]
/***FindWord***/ NFindWord BreakTable BreakTablePtr NBreakTable NBreakTablePtr HiliteText OffPair OffsetTable ScriptManager
FindWord(2t)

【名前】
	FindWord    -
	NFindWord   -
	HiliteText  -
	BreakTable  - data type
	NBreakTable - data type
	OffPair     - data type

【書式】
	■FindWord	V-309
	■NFindWord	VI-14-50
	■HiliteText	V-310

【書式】
	void	FindWord(Ptr textPtr, short textLength, short offset,
			Boolean leadingEdge, BreakTablePtr breaks,
			OffsetTable offsets);

	#include <Script.h>
	void	NFindWord(Ptr textPtr, short textLength, short offset,
			Boolean leadingEdge, NBreakTablePtr nbreaks,
			OffsetTable offsets);

	void	HiliteText(Ptr textPtr, short textLength, short firstOffset,
			short secondOffset, OffsetTable offsets);

	■BreakTable	VI-14-126
	  BreakTable
		char	charTypes[256];
		short	tripleLength;
		short	triples[1];
	  BreakTablePtr	BreakTable *

	■NBreakTable	VI-14-126
	  NBreakTable
		signed	char flags1;
		signed	char flags2;
		short	version;
		short	classTableOff;
		short	auxCTableOff;
		short	backwdTableOff;
		short	forwdTableOff;
		short	doBackup;
		short	reserved;
		char	charTypes[256];
		short	tables[1];
	  NBreakTablePtr	NBreakTable *

	■OffPair	VI-14-126
	  OffPair
		short	offFirst;
		short	offSecond;
	  OffsetTable	OffPair	[3]
/***PortionText***/ NPortionText DrawJust MeasureJust NDrawJust NMeasureJust ScriptManager
PortionText(2t)

【名前】
	PortionText  -
	NPortionText -
	DrawJust     -
	NDrawJust    -
	MeasureJust  -
	NMeasureJust -

【書式】
	■PortionText	??
	■NPortionText	VI-14-65
	■DrawJust	V-310
	■NDrawJust	VI-14-67
	■MeasureJust	V-311
	■NMeasureJust	VI-14-67

	#include <Script.h>

	Fixed	PortionText(Ptr textPtr, long textLen);
	Fixed	NPortionText(Ptr textPtr, long textLen,
			JustStyleCode styleRunPosition, Point numer,
			Point denom);

	void	DrawJust(Ptr textPtr, short textLength, short slop);
	void	NDrawJust(Ptr textPtr, long textLength, Fixed slop,
			JustStyleCode styleRunPosition, Point numer,
			Point denom);

	void	MeasureJust(Ptr textPtr, short textLength, short slop,
			Ptr charLocs);
	void	NMeasureJust(Ptr textPtr, long textLength, Fixed slop,
			Ptr charLocs, JustStyleCode styleRunPosition,
			Point numer, Point denom);
/***FormatClass***/ FormatResultType ScriptManager
	FormatClass		uchar
	FormatResultType	uchar
/***ItlcRecord***/ ItlbRecord ItlbExtRecord ScriptManager
ItlcRecord(2t)

【名前】
	ItlcRecord	-
	ItlbRecord	-
	ItlbExtRecord	-

【形式】
	■ItlcRecord	??
	  ItlcRecord
		short	itlcSystem;
		short	itlcReserved;
		char	itlcFontForce;
		char	itlcIntlForce;
		char	itlcOldKybd;
		char	itlcFlags;
		short	itlcIconOffset;
		char	itlcIconSide;
		char	itlcIconRsvd;
		short	itlcRegionCode;
		char	itlcReserved3[34];


	■ItlbRecord	??
	  ItlbRecord
		short	itlbNumber;
		short	itlbDate;
		short	itlbSort;
		short	itlbFlags;
		short	itlbToken;
		short	itlbEncoding;
		short	itlbLang;
		char	itlbNumRep;
		char	itlbDateRep;
		short	itlbKeys;
		short	itlbIcon;


	■ItlbExtRecord	??
	  ItlbExtRecord
		ItlbRecord base;
		long	itlbLocalSize;
		short	itlbMonoFond;
		short	itlbMonoSize;
		short	itlbPrefFond;
		short	itlbPrefSize;
		short	itlbSmallFond;
		short	itlbSmallSize;
		short	itlbSysFond;
		short	itlbSysSize;
		short	itlbAppFond;
		short	itlbAppSize;
		short	itlbHelpFond;
		short	itlbHelpSize;
		Style	itlbValidStyles;
		Style	itlbAliasStyle;
/***DelimType***/ CommentType ScriptManager
	DelimType	TokenType	[2]
	CommentType	TokenType	[4]
/***TokenRec***/ TokenRecPtr TokenType UntokenTable UntokenTablePtr UntokenTableHandle ScriptManager
TokenRec(2t)

【名前】
	TokenRec	-
	UntokenTable	-

【形式】
	■TokenRec	??
	  TokenType	short
	  TokenRec
		TokenType	theToken;
		Ptr		position;
		long		length;
		StringPtr	stringPosition;
	  TokenRecPtr	TokenRec *

	■UntokenTable	??
	  UntokenTable
		short	len;
		short	lastToken;
		short	index[256];
	  UntokenTablePtr	UntokenTable *
	  UntokenTableHandle	UntokenTable **
/***LongDateTime***/ LongDateCvt LongDateRec ScriptManager
LongDateTime(2t)

【名前】
	LongDateTime - 
	LongDateCvt  -
	LongDateRec  -

【形式】
	■LongDateTime	?? (VI-14-125)
	  LongDateTime	comp

	■LongDateCvt	?? (VI-14-125)
	  LongDateCvt
		union LongDateCvt {
			comp	c;
			struct	{
				long lHigh;
				long lLow;
			} hl;
		}

	■LongDateRec	?? (VI-14-125)
	  LongDateRec
		union LongDateRec {
			struct	{
				short era;
				short year;
				short month;
				short day;
				short hour;
				short minute;
				short second;
				short dayOfWeek;
				short dayOfYear;
				short weekOfYear;
				short pm;
				short res1;
				short res2;
				short res3;
				} ld;
			short	list[14];
			struct	{
				short eraAlt;
				DateTimeRec oldDate;
				} od;
		}
/***Itl4Rec***/ Itl4Ptr Itl4Handle NItl4Rec NItl4Ptr NItl4Handle ScriptManager
Itl4Rec(2t)

【名前】
	Itl4Rec  -
	NItl4Rec -

【形式】
	■Itl4Rec	??
	  Itl4Rec
		short	flags;
		long	resourceType;
		short	resourceNum;
		short	version;
		long	resHeader1;
		long	resHeader2;
		short	numTables;
		long	mapOffset;
		long	strOffset;
		long	fetchOffset;
		long	unTokenOffset;
		long	defPartsOffset;
		long	resOffset6;
		long	resOffset7;
		long	resOffset8;
	  Itl4Ptr	Itl4Rec *
	  Itl4Handle	Itl4Rec **

	■NItl4Rec	??
	  NItl4Rec
		short	flags;
		long	resourceType;
		short	resourceNum;
		short	version;
		short	format;
		short	resHeader;
		long	resHeader2;
		short	numTables;
		long	mapOffset;
		long	strOffset;
		long	fetchOffset;
		long	unTokenOffset;
		long	defPartsOffset;
		long	whtSpListOffset;
		long	resOffset7;
		long	resOffset8;
		short	resLength1;
		short	resLength2;
		short	resLength3;
		short	unTokenLength;
		short	defPartsLength;
		short	whtSpListLength;
		short	resLength7;
		short	resLength8;
	  NItl4Ptr	NItl4Rec *
	  NItl4Handle	NItl4Rec **
/***JustStyleCode***/ ScriptManager
	JustStyleCode	??
	JustStyleCode	short
